package ltd.hanamaki.study.array;

import java.util.Arrays;
import java.util.List;

/**
 * 数组的 工具类 Arrays
 */
public class Demo05 {

    public static void main(String[] args) {

        int a[] = {1, 2, 3, 4, 9090, 54, 2323, 43, 6};
        Integer b[] = {1, 2, 3, 4, 9090, 54, 2323, 43, 6};
        /* 数组不可以 直接打印 */
        System.out.println(a);

        /* 将数组转换为 集合 ?
        * 在将 数组 转换为集合的 时候 ，要注意 ，数组的 数据类型一定要是  包装类
        * */
        List<int[]> ints = Arrays.asList(a);
        System.out.println(ints);

        List<Integer> integers = Arrays.asList(b);
        System.out.println(integers);

        int c[] = new int[10];
        System.out.println(Arrays.toString(c));
        /* 使用 Arrays 工具类中的 fill方法 来 填充数组 */
     /* 将 数组 c 填充 值 为 1  全部 填充  */
        Arrays.fill(c, 1);
        System.out.println(Arrays.toString(c));

        /* 将 数组 c 填充 值 为 4  从 下标 为 1开始 到 下标 为 6  填充  */
        /* 区间范围 [1,6) */
        Arrays.fill(c, 1, 6, 4);
        System.out.println(Arrays.toString(c));

        /* 对数组  a进行 排序  */
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));

        /* 通过 反转实现 降序排序 */
        Arrays.sort(a);
        int[] reverser = Demo04.reverser(a);
        System.out.println(Arrays.toString(reverser));



        System.out.println(Arrays.toString(a));

        String s = print_arr(a);
        System.out.println(s);



    }

    public static String print_arr(int array[]) {
        StringBuilder builder = new StringBuilder();
        builder.append("[");
        for (int i = 0; i < array.length; i++) {
            if (i == array.length - 1) {
                builder.append(array[i] + "]");
            } else {
                builder.append(array[i] + ", ");
            }
        }
        return builder.toString();
    }
}
